Type definitions (typedef)
Are used to clear up complicated type
declarations such as arrays of function pointers.
typedef introduces new names for types. The
general rule for its use is:
n Pick a name for the desired type.
n Write a declaration defining the name as a variable of
the desired type.
n Precede the declaration by typedef.
EXAMPLE: make String a synonym for char*
         char* String;
         typedef char* String;
         String s, t;